Iso14a.RequestATS

This command requests the Answer to Select (ATS) of the PICC according to the ISO 14443-3 (Type A) standard.

RequestATS has to be called by the PCD (reader) directly after a successful call of the Iso14a.Select command if

  1. The selected PICC is ISO 14443-4 compliant (according to SAK byte) and
  2. communication as specified by ISO 14443-4 shall be performed via the Iso14L4.ExchangeAPDU command.

Since it is possible to keep several PICCs in active state at the same time according to ISO 14443-4, a unique CID has to be assigned to each of them. However, if you only want to communicate with a single label at a given time, the value 0 should be assigned to the CID variable. In this case, it is possible to call the Iso14L4.ExchangeAPDU command without bothering about CIDs.

Please refer to the Iso14a.PerformPPS and Iso14L4.ExchangeAPDU command descriptions for more information about frame sizes and timing issues.

After successful execution of this command, the communication parameters can be tuned with the Iso14a.PerformPPS command.

Properties

Parameters (request frame)

Name Type/Size Description
- Bit mask (8 bits) -
FSDI Enumeration (bit mask area 0xF0)

Frame Size proximity coupling Device Integer (FSDI) value. This value is mapped to the Frame Size proximity coupling Device (FSD) value, which indicates the maximum frame size accepted by the PCD.

The current Baltech reader supports FSD of at least up to 64 bytes (FSDI=0x05). It is not recommended to use a smaller FSDI. Future versions of the Baltech reader might support higher FSDI values.
Values:
  • Bytes16 (0x0)
  • Bytes24 (0x1)
  • Bytes32 (0x2)
  • Bytes40 (0x3)
  • Bytes48 (0x4)
  • Bytes64 (0x5)
  • Bytes96 (0x6)
  • Bytes128 (0x7)
    Recommended
  • Bytes256 (0x8)
CID Integer (bit mask area 0x0F)

Channel ID which shall be assigned to this PICC. Possible values:

  • 0x00: PICC will also respond to ISO 14443-4 commands with CID disabled. Should fit for most PICCs
  • 0x01-0x0E: valid CID value.
  • 0x0F-0xFF: RFU

Returned values (response frame)

Name Type/Size Description
ATS Raw data (until end of frame) Answer To Selection (ATS) of the PICC. This field has a variable length of up to 32 bytes. According to the ISO 14443-4 standard (chapter 5.2), it has the following format (bits not specified are RFU and have to be 0):
  • TL byte. Specifies the length of the ATS in bytes. This includes TL up to Tk.
  • T0 byte. Has the following meaning:
    • Bit 0-3 (0x0F): FSCI = maximum accepted frame size of PICC. Has the same encoding as the FSDI parameter of this command or the FSCI parameter of the SetupAPDU command.
    • Bit 4 (0x10): If 1, then TA(1) field is included in ATS.
    • Bit 5 (0x20): If 1, then TB(1) field is included in ATS.
    • Bit 6 (0x40): If 1, then TC(1) field is included in ATS.
  • TA(1) byte (optional; see T0 byte). Specifies the values supported by the PICC of the DRI and DSI parameters of the PerformPPS command. If TA(1) is omitted, no values > Kbps106 are supported.
    • Bit 0 (0x01): If 1, then DRI may be Kbps212.
    • Bit 1 (0x02): If 1, then DRI may be Kbps424.
    • Bit 2 (0x04): If 1, then DRI may be Kbps848.
    • Bit 4 (0x10): If 1, then DSI may be Kbps212.
    • Bit 5 (0x20): If 1, then DSI may be Kbps424.
    • Bit 6 (0x40): If 1, then DSI may be Kbps848.
    • Bit 7 (0x80): If 1, then DSI and DRI must be identical
  • TB(1) byte (optional; see T0 byte). This byte contains the following values. If TB(1) is omitted, minimum values are assumed.
    • Bit 0-3 (0x0F): SFGI (time PCD has to wait before sending packet after receiving ATS)
    • Bit 4-7 (0xF0): FWI (timeout for response frame from the PICC)
    Both values specify a time value which has to be encoded according to the following table:
    • 0: no delay needed
    • 1: 0.6ms
    • 2: 1.2ms
    • 3: 2.4ms
    • 4: 4.8ms
    • 5: 9.7ms
    • 6: 19.3ms
    • 7: 38.7ms
    • 8: 77.3ms
    • 9: 154.7ms
    • 10: 309.3ms
    • 11: 618.6ms
    • 12: 1237.3ms
    • 13: 2474.5ms
    • 14: 4949.0ms
  • TC(1) byte (optional; see T0 byte). If TC(1) is omitted, CID is supported and NAD is not supported.
    • Bit 0 (0x01): If 1, then NAD (node address) is supported
    • Bit 1 (0x02): If 1, then CID (card identifier) is supported. This allows you to access multiple cards in parallel.
  • T1 ... Tk: historical bytes (not defined in ISO14443-4 standard)